package com.t2tierp.pafecf.controller;

import br.com.modelo.Cliente;
import br.com.util.JPAUtil;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;

public class ClienteController {

    public Cliente consultaCPFCNPJ(String CPFouCNPJ) {
        EntityManager em = JPAUtil.retornarFabrica().createEntityManager();
        Query q = em.createNamedQuery("FROM Cliente c WHERE c.cpfCnpj = ?");
        q.setParameter(1, CPFouCNPJ);
        Cliente retorno;
        try {
            retorno = (Cliente) q.getSingleResult();
            em.close();
            return retorno;
        } catch (javax.persistence.NoResultException e) {
            em.close();
            return null;
        }
    }

    public Cliente consultaPorId(Integer idCliente) {
        EntityManager em = JPAUtil.retornarFabrica().createEntityManager();
        Query q = em.createNamedQuery("FROM Cliente c WHERE c.id = ?");
        q.setParameter(1, idCliente);
        Cliente retorno;
        try {
            retorno = (Cliente) q.getSingleResult();
            em.close();
            return retorno;
        } catch (javax.persistence.NoResultException e) {
            em.close();
            return null;
        }
    }

    public List<Cliente> clienteFiltro(String filtroNome) {
        EntityManager em = JPAUtil.retornarFabrica().createEntityManager();
        Query q = em.createNamedQuery("FROM Cliente c WHERE c.nome like ?");
        q.setParameter(1, "%" + filtroNome + "%");
        List<Cliente> retorno = q.getResultList();
        em.close();
        return retorno;
    }
}
